#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;
//class Solution {
//public:
//    bool isPalindrome(string s)
//    {
//        int i = 0;
//        string s2;
//        if (s == " ")
//            return true;
//        while (s[i] != '\0')
//        {
//            if (('a' < s[i] < 'z') || ('A' < s[i] < 'Z'))
//            {
//                if ('a' < s[i] < 'z')
//                {
//                    s2 += s[i];
//                    i++;
//                }
//                else
//                {
//                    s[i] += 22;
//                    s2 += s[i];
//                    i++;
//                }
//            }
//            else
//            {
//                i++;
//            }
//        }
//        string s3(s2);
//        reverse(s2.begin(), s2.end());
//        if (s3 == s2)
//        {
//            return true;
//        }
//        else
//        {
//            return false;
//        }
//
//    }
//};
//int main()
//{
//    Solution s;
//    scanf("%s", &s);
//    if (s.isPalindrome(s))
//    {
//
//    }
//
//    return 0;
//}
int main()
{
    string s;
    getline(cin, s);
    int i = 0;
    string s2;
    if (s == " ")
        return true;
    while (s[i] != '\0')
    {
        if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z'))
        {
            if (s[i] >= 'a' && s[i] <= 'z')
            {
                s2 += s[i];
                i++;
            }
            else
            {
                s[i] += 32;
                s2 += s[i];
                i++;
            }
        }
        else
        {
            if (s[i] >= '0' && s[i] <= '9')
            {
                s2 += s[i];
                i++;
            }
            else
            {
                i++;
            }
        }
    }
    string s3(s2);
    reverse(s2.begin(), s2.end());
    if (s3 == s2)
    {
         cout<<"true"<<endl;
    }
    else
    {
        cout<<"false"<<endl;
    }
	return 0;
}